1. Field of the Invention
This invention generally relates to the field of data processing systems and, more specifically, to the field of building and installing custom application packages in a distributed computing environment.
2. Description of the Related Art
Modern data processing systems are often implemented as distributed computing environments. A typical distributed computing environment configuration includes one or more "client" computers, including personal computers and workstations, that communicate with one or more "server" computers. In this "client/server" environment, the client computers request data, files, or other information from the server computer and the server computer serves the client with the requested information. In some distributed computing environments, a computer may operate as a client computer and as a server computer.
In many modem client/server environments, the number of application suites, or products, necessary to perform business tasks is becoming increasingly large. In some client/server environments all the components of an application bundle are installed on each client computer's storage device. Thus, as the number and size of the application bundles increases, the amount of space necessary to store the application bundle becomes increasingly large. In many instances not every user requires an entire application bundle installed on the client computer, particularly those users involved with doing specific tasks versus system-wide tasks.
Recognizing this problem, some modern data processing systems have environments in which the full application bundle is broken into smaller components, specifically application suites. For example, the software may include one application suite of each Sales Order Processing, Payroll, Human Resources, and Budgeting, rather than a single application bundle encompassing all four application suites. The problem, however, with the prior art systems is that the application suites are not further broken into a sufficient number of individual components so that portions of each suite may be installed and available to users who do not require access or should not have access, to an entire application suite. For example, an order entry clerk in an organization probably would not require access to an entire payroll application, despite having to enter his or her working time entries (which is typically part of the payroll suite). Thus, the clerk would simply forward his time entry to one having the payroll application so that person may enter the time, rather than having the entire payroll application installed on the clerk's client computer.
Therefore, there is a need for a system that customizes an application package for particular users using components from one or more application suites and/or components of one or more third-party applications. Further, there is a need for a system to install or update an application package without having to update every application and every client computer having an assigned user in the network and without having to recompile an entire application suite.